const db = require('../db/index')

// 获取文章数据
exports.getArticleCates = (req, res)=> {
    // 根据分类的状态，获取所有未被删除的分类列表数据
    // isdelete=0表示没有被标记为删除的数据，
    const sqlStr = 'select * from ev_article_cate where is_delete=0 order by id asc'
    db.query(sqlStr,(err, result)=> {
        if(err) return res.cc(err)
        res.send({
            status: 0,
            msg: '获取文章数据成功',
            data: result,
        })
    })
}
// 新增文章分类路由处理函数
exports.addArticleCates = (req, res)=> {
    // 路由函数处理模块不能出现两个db.query()
    const sql = 'select * from ev_article_cate where name=? or alias=?'
    db.query(sql, [req.body.name, req.body.alias], (err, result)=> {
        if(err) return res.send(err)
        if(result.length == 2) {
            return res.cc('分类名称和别名被占用，请更换重试')
        }
        if(result.length == 1 && result[0].name == req.body.name && result[0].alias == req.body.alias) {
            return res.cc('分类名称或别名被占用，请更换重试')
        }
        if(result.length == 1 && result[0].name == req.body.name) {
            return res.cc('分类名称被占用，请更换重试')
        }
        if(result.length == 1 && result[0].alias == req.body.alias) {
            return res.cc('分类别名被占用，请更换重试')
        }

        const sqlStr = 'insert into ev_article_cate set ?'
        db.query(sqlStr, req.body, (err, result)=> {
            if(err) return res.cc(err)
            if(result.affectedRows !== 1) return res.cc('新增文章分类失败！')
            res.cc('新增文章分类成功！', 0)
        })
    })
}

// 删除文章分类处理模块
exports.deleteArticleCates = (req, res)=> {
    const sqlStr = 'update ev_article_cate set is_delete=1 where id=?'
    db.query(sqlStr, req.params.id, (err, result)=> {
        if(err) return res.cc(err)
        if(result.affectedRows !== 1) return res.cc('删除文章分类失败！')
        res.cc('删除文章分类成功', 0)
    })
}

// 根据id获取文章分类
exports.getArticleCatesById = (req, res)=> {
    const sqlStr = 'select * from ev_article_cate where id=?'
    db.query(sqlStr, req.params.id, (err, result)=> {
        if(err) return res.cc(err)
        if(result.length !== 1) return res.cc('获取文章分类失败！')
        res.send({
            status: 0,
            msg: '获取文章分类成功',
            data: result[0]
        })
    })
}
exports.updateArticleCates = (req, res) => {
    const sqlStr = 'select * from ev_article_cate where id<>? and (name=? or alias=?)'
    db.query(sqlStr, [req.body.Id, req.body.name, req.body.alias,], (err, result)=> {
        if(err) res.cc(err)
        if(result.length == 2) return res.cc("分类名称与别名被占用，请更换后重试！")
        if(result.length == 1 && result[0].name == req.body.name) {
            return res.cc('分类名称被占用, 请更换后重试！')
        }
        if(result.length == 1 && result[0].alias == req.body.alias) {
            return res.cc('分类别名被占用, 请更换后重试！')
        }

        const sql = 'update ev_article_cate set ? where id=?'
        db.query(sql, [req.body, req.body.Id], (err, result)=> {
            console.log(req.body);
            if(err) return res.cc(err)
            if(result.affectedRows !== 1) return res.cc('文章分类更新失败!')
            res.cc('文章分类更新成功', 0)
        })
    })
}